EC2インスタンス(Ubuntu)の初回起動時に自動セキュリティアップデートを無効にする方法
困っていた内容
Ubuntuを使いたいので、東京リージョンのパブリックAMIami-0d52744d6551d851e
を利用する予定ですが、初回起動時の自動セキュリティアップデートを無効にする方法を知りたいです。
Amazon Linux AMI に関するよくある質問にAmazon Linuxの場合には、EC2のマネージドコンソールで「高度な詳細」のユーザーデータに#cloud-config repo_upgrade: none
と記述し、インスタンスを起動すれば、初回起動時の自動セキュリティアップデートを無効にすることができると記載がありました。
起動時に、AWS EC2 コンソールからセキュリティアップデートを無効にする方法:
リクエストインスタンスウィザードの「高度なインスタンスオプション」ページに、Amazon Linux AMI のユーザーデータを送信するテキストフィールドがあります。このデータは、テキストとして入力するか、またはファイルとしてアップロードできます。どちらの場合でも、データは以下のようになります。 #cloud-config
repo_upgrade: なし
対応方法
デフォルトの設定状況を確認してみた
私の環境でAMIami-0d52744d6551d851e
からEC2インスタンスを起動し、「/var/log/apt/history.log」を確認したところ、初回起動時のパッケージのアップデートの記録がありませんでした。
そのため、デフォルトでは、初回起動時のセキュリティアップデートが実行されていないということになります。
初回起動時の自動セキュリティアップデートを有効にしてみた
EC2インスタンス起動時に、「高度な詳細」のユーザーデータに #cloud-config apt_upgrade: true
と記述すると、初回起動時のセキュリティアップデートが実行されると下記ページに書いてあったので、試してみました。
Cloud Config Syntax Cloud Config is the simplest way to accomplish some things via user-data. Using cloud-config syntax, the user can specify certain things in a human friendly format. ... 1. run 'apt-get upgrade' on first boot
#cloud-config
apt_upgrade: true
引用元: CloudInit - Community Help Wik
EC2マネージドコンソールで、AMIを開きます。「AMIからインスタンスを起動(Launch instance from AMI)」からEC2インスタンスを起動します。
「インスタンスを起動」が開きますので、名前やインスタンスタイプなどを設定していきます。
一番下に「高度な詳細」のユーザーデータがありますので、以下のよう入力しました。
EC2インスタンス起動後、インスタンスに接続し、「/var/log/apt/history.log」を確認すると下記が記録されており、初回起動時のアップデートが実行されていることを確認できました。(一部省略)
Start-Date: 2023-08-19 20:35:09 Commandline: /usr/bin/apt-get --option=Dpkg::Options::=--force-confold --option=Dpkg::options::=--force-unsafe-io --assume-yes --quiet dist-upgrade Install: linux-headers-6.2.0-1009-aws:amd64 (6.2.0-1009.9~22.04.3, automatic), linux-aws-6.2-headers-6.2.0-1009:amd64 (6.2.0-1009.9~22.04.3, automatic), linux-image-6.2.0-1009-aws:amd64 (6.2.0-1009.9~22.04.3, automatic), linux-modules-6.2.0-1009-aws:amd64 (6.2.0-1009.9~22.04.3, automatic) Upgrade: dpkg:amd64 (1.21.1ubuntu2.1, 1.21.1ubuntu2.2), ...